<html>
<head><meta charset="utf-8"><title>posting the RFc · project-ffi-unwind · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/index.html">project-ffi-unwind</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html">posting the RFc</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="197342861"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197342861" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197342861">(May 12 2020 at 21:34)</a>:</h4>
<p>So, <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> -- is anything hold us back from posting this rfc?</p>



<a name="197449210"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197449210" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197449210">(May 13 2020 at 17:39)</a>:</h4>
<p>Sorry, I didn't realize I had Zulip closed yesterday! There are still two <code>TODO</code> items in the doc, and I did also want to add some kind of new user-friendly term for "drop glue".</p>



<a name="197449241"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197449241" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197449241">(May 13 2020 at 17:39)</a>:</h4>
<p>Or rather, for the property of a frame having drop glue that will execute if an unwind happens</p>



<a name="197457759"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197457759" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197457759">(May 13 2020 at 18:41)</a>:</h4>
<p>The two <code>TODO</code>s are for adding more background info on discussions prior to the formation of the project group, and explaining why we're not just stabilizing <code>#[unwind(allowed)]</code>.</p>



<a name="197461120"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197461120" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197461120">(May 13 2020 at 19:06)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc/near/197449241">said</a>:</p>
<blockquote>
<p>Or rather, for the property of a frame having drop glue that will execute if an unwind happens</p>
</blockquote>
<p>maybe we should call it a "pending" frame or something?</p>



<a name="197461137"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197461137" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197461137">(May 13 2020 at 19:06)</a>:</h4>
<p>I guess though we want in particular a name for frames that have <em>no</em> work to do</p>



<a name="197461140"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197461140" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197461140">(May 13 2020 at 19:06)</a>:</h4>
<p>"passive"?</p>



<a name="197461146"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197461146" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197461146">(May 13 2020 at 19:06)</a>:</h4>
<p>I still don't hate <code>inert</code>, I have to admit</p>



<a name="197461178"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197461178" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197461178">(May 13 2020 at 19:07)</a>:</h4>
<p>I don't know of any existing terminology for this, so it seems like we have to create some</p>



<a name="197462287"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462287" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462287">(May 13 2020 at 19:15)</a>:</h4>
<p>I don't "hate" inert either, but I think it's.... a good analogy that could probably fit a different concept better in the future. When I hear "inert" I think of chemicals that don't react with other chemicals. In our context, these frames don't "react with" an unwinding operation, so it's not a terrible analogy. But somehow it doesn't strike me as immediately self-explanatory.</p>



<a name="197462301"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462301" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462301">(May 13 2020 at 19:15)</a>:</h4>
<p>Maybe if it's qualified: "unwind-inert."</p>



<a name="197462406"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462406" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462406">(May 13 2020 at 19:16)</a>:</h4>
<p>Yeah, I guess that would resolve my main concern, which is that "inert" doesn't sound specifically related to unwinding, cleanup, stack frames, etc.</p>



<a name="197462531"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462531" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462531">(May 13 2020 at 19:17)</a>:</h4>
<p>(As a totally hand-wavy hypothetical example, "inert" could be used some day to refer to some property of threads that prevents them from interacting with other threads in an observable way.)</p>



<a name="197462554"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462554" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462554">(May 13 2020 at 19:17)</a>:</h4>
<p>(Here, "threads" are analogous to "chemicals", and some are "inert" while others are not)</p>



<a name="197462657"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197462657" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197462657">(May 13 2020 at 19:18)</a>:</h4>
<p>What do you think of my suggestion of "disposable"? Or some other word for ready-to-be-disposed-of?</p>



<a name="197463562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197463562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197463562">(May 13 2020 at 19:24)</a>:</h4>
<p>"trivial-drop"</p>



<a name="197481325"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197481325" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197481325">(May 13 2020 at 21:40)</a>:</h4>
<p>"unwind-oblivious"?</p>



<a name="197481369"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197481369" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197481369">(May 13 2020 at 21:40)</a>:</h4>
<p>"disposable" doesn't feel very clear to me, I can't tell whether it means that there is or is not drop code to run</p>



<a name="197481410"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197481410" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197481410">(May 13 2020 at 21:41)</a>:</h4>
<p>"trivial" is not a bad word for this</p>



<a name="197481424"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197481424" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197481424">(May 13 2020 at 21:41)</a>:</h4>
<p>certainly saying that a POD struct has trivial drop is pretty reasonable</p>



<a name="197573873"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197573873" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197573873">(May 14 2020 at 15:39)</a>:</h4>
<p>"drop-pure", because obviously introducing the concept of function purity will clear everything up <span aria-label="laughing" class="emoji emoji-1f606" role="img" title="laughing">:laughing:</span></p>



<a name="197573942"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197573942" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197573942">(May 14 2020 at 15:39)</a>:</h4>
<p>I kind of like "unwind-oblivious."</p>



<a name="197582543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582543">(May 14 2020 at 16:37)</a>:</h4>
<p>"POSF" -- plain old stack frame :)</p>



<a name="197582622"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582622" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582622">(May 14 2020 at 16:38)</a>:</h4>
<p>I kind of love that, actually</p>



<a name="197582646"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582646" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582646">(May 14 2020 at 16:38)</a>:</h4>
<p>Though "POS" always makes me think "piece of --"</p>



<a name="197582655"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582655" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582655">(May 14 2020 at 16:38)</a>:</h4>
<p>and then "point-of-sale"</p>



<a name="197582699"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582699" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582699">(May 14 2020 at 16:38)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120076">BatmanAoD (Kyle Strand)</span> <a href="#narrow/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc/near/197582646">said</a>:</p>
<blockquote>
<p>Though "POS" always makes me think "piece of --"</p>
</blockquote>
<p>I was aware of this connotation :P</p>



<a name="197582704"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582704" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582704">(May 14 2020 at 16:38)</a>:</h4>
<p>Maybe just make the connection to PODs explicit? PODF</p>



<a name="197582751"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582751" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582751">(May 14 2020 at 16:39)</a>:</h4>
<p>"Data frame"?</p>



<a name="197582774"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582774" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582774">(May 14 2020 at 16:39)</a>:</h4>
<p>I do have to say that "plain old data" is one of my favorite C++ "technical terms"</p>



<a name="197582812"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582812" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582812">(May 14 2020 at 16:39)</a>:</h4>
<p>at least to me it was <em>immediately clear</em> what it meant when I first heard it :)</p>



<a name="197582896"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197582896" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197582896">(May 14 2020 at 16:40)</a>:</h4>
<p>I suppose the acronym goes a long way to making it obscure again though</p>



<a name="197583279"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197583279" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197583279">(May 14 2020 at 16:42)</a>:</h4>
<p>It's the only good one!</p>



<a name="197583299"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197583299" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197583299">(May 14 2020 at 16:42)</a>:</h4>
<p>Arguably</p>



<a name="197592400"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197592400" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Josh Triplett <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197592400">(May 14 2020 at 17:49)</a>:</h4>
<p>I'd be in favor of either "POD Frame" or "POF (plain old frame)".</p>



<a name="197592631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197592631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197592631">(May 14 2020 at 17:51)</a>:</h4>
<p>I think let's go with POF. It's a distinct enough concept that using the word "POD" might lead to a false sense of confidence that the term can be understood without an explanation. But "POF" looks similar enough to "POD" that it'll probably work as a mnemonic.</p>



<a name="197592808"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197592808" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197592808">(May 14 2020 at 17:52)</a>:</h4>
<p>.. I kinda liked inert.. (but don't mind me, this is devolving into a bikeshed)</p>



<a name="197592913"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197592913" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197592913">(May 14 2020 at 17:53)</a>:</h4>
<p>I don't think "plain old" is very descriptive at all. It works in C++ because "old" clearly refers to C, but we don't have that in Rust.</p>



<a name="197594103"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197594103" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197594103">(May 14 2020 at 18:01)</a>:</h4>
<p>Hmmmmmm</p>



<a name="197594376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197594376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197594376">(May 14 2020 at 18:02)</a>:</h4>
<p>"plain old" is really more of an idiom, I'd say, just meaning "basic" or "well-understood". The point is that there's a difference in C++ between objects that are "just" data and objects that are... not. Sure, POD structs are just C structs, but  I don't think the "old" in POD actually refers to C.</p>



<a name="197594527"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197594527" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197594527">(May 14 2020 at 18:03)</a>:</h4>
<p>I think bikeshedding is useful in this case, because C++ has _so many_ bad names/acronyms, and we risk introducing yet another bad name/acronym to the systems programming domain if this terminology catches on more broadly.</p>



<a name="197594656"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197594656" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197594656">(May 14 2020 at 18:04)</a>:</h4>
<p>(I.e. I want to avoid another RAII/PIMPL/"zero-cost")</p>



<a name="197600002"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197600002" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197600002">(May 14 2020 at 18:43)</a>:</h4>
<p>I think POF is good</p>



<a name="197600019"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197600019" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197600019">(May 14 2020 at 18:43)</a>:</h4>
<p>I agree that I never thought of "old"  as referring to C</p>



<a name="197600053"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197600053" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197600053">(May 14 2020 at 18:43)</a>:</h4>
<p>but more the "it's just a plain old something" idiom, but I guess that is .. well .. idiomatic :)</p>



<a name="197642666"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/197642666" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#197642666">(May 15 2020 at 02:43)</a>:</h4>
<p>(deleted)</p>



<a name="198940304"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/198940304" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#198940304">(May 27 2020 at 19:28)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> <span class="user-mention" data-user-id="143274">@Amanieu</span> <span class="user-mention" data-user-id="237472">@acfoltzer</span> </p>
<p>Even though I don't think the RFC is ready yet for a PR on the RFC repo (sorry, I haven't worked on it since our last discussion), would any of you object to merging it in its current state into the <code>master</code> branch of the project repo?</p>



<a name="198940376"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/198940376" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> acfoltzer <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#198940376">(May 27 2020 at 19:28)</a>:</h4>
<p>no objections here</p>



<a name="198940496"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/198940496" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#198940496">(May 27 2020 at 19:29)</a>:</h4>
<p>Also, Amanieu, did the discussion on "plain old" resolve your concern? At this point I am leaning toward POF</p>



<a name="198944284"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/198944284" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#198944284">(May 27 2020 at 19:55)</a>:</h4>
<p>no objections <span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span></p>



<a name="198955234"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/198955234" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#198955234">(May 27 2020 at 21:22)</a>:</h4>
<p><em>shrug</em> I still don't like it... but meh, I don't care enough to argue.</p>



<a name="199274455"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/199274455" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#199274455">(May 30 2020 at 20:23)</a>:</h4>
<p>Wrapping up the RFC draft: here's my attempt to summarize a few years of argument into a couple of paragraphs, with links should people want to read more. Do we believe this is sufficient? <a href="https://github.com/BatmanAoD/project-ffi-unwind/blob/Rfc-POF-terminology/rfcs/0000-c-unwind-abi.md#older-discussions-about-unwinding-through-extern-c-boundaries">https://github.com/BatmanAoD/project-ffi-unwind/blob/Rfc-POF-terminology/rfcs/0000-c-unwind-abi.md#older-discussions-about-unwinding-through-extern-c-boundaries</a></p>



<a name="199274520"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/199274520" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#199274520">(May 30 2020 at 20:25)</a>:</h4>
<p><a href="https://github.com/rust-lang/project-ffi-unwind/pull/29">https://github.com/rust-lang/project-ffi-unwind/pull/29</a></p>



<a name="199687167"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/199687167" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#199687167">(Jun 03 2020 at 22:54)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> Not sure who saw my message above, but I think the RFC is about ready to go.</p>



<a name="199751187"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/199751187" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#199751187">(Jun 04 2020 at 14:03)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> nice! I missed that, will take a look at the PR</p>



<a name="200200775"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200200775" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200200775">(Jun 09 2020 at 09:36)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> ugh I forgot about this <em>again</em> -- looking now</p>



<a name="200201440"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200201440" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200201440">(Jun 09 2020 at 09:44)</a>:</h4>
<p>Looks great, left a comment</p>



<a name="200262035"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200262035" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200262035">(Jun 09 2020 at 17:16)</a>:</h4>
<p>Thanks!</p>



<a name="200285300"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200285300" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200285300">(Jun 09 2020 at 20:26)</a>:</h4>
<p><span class="user-mention" data-user-id="143274">@Amanieu</span> I feel like I must have asked this before, but web searches aren't helping me refresh my memory: what is an asynchronous exception, and why is it called that?</p>



<a name="200285789"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200285789" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200285789">(Jun 09 2020 at 20:30)</a>:</h4>
<p>Basically a signal caused by an external event, such as a timer or sent by another thread. And then throwing an exception from the signal handler. Basically it means an exception could occur at any point in your program.</p>



<a name="200285817"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200285817" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Amanieu <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200285817">(Jun 09 2020 at 20:30)</a>:</h4>
<p>Needless to say, we don't support that.</p>



<a name="200286605"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200286605" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200286605">(Jun 09 2020 at 20:36)</a>:</h4>
<p>In the <code>nounwind</code> LangRef entry you quoted, wasn't the bit about async exceptions the reason you said <code>longjmp</code> on Windows would have "implementation defined semantics"?</p>



<a name="200572305"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200572305" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200572305">(Jun 11 2020 at 16:54)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Do you have any reservations about merging my PR as-is? We can discuss during the meeting today whether we want to reconsider forced-unwinds before submitting an actual RFC.</p>



<a name="200575207"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200575207" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200575207">(Jun 11 2020 at 17:14)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> feel free to merge</p>



<a name="200576594"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200576594" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200576594">(Jun 11 2020 at 17:20)</a>:</h4>
<p><span aria-label="thumbs up" class="emoji emoji-1f44d" role="img" title="thumbs up">:thumbs_up:</span></p>



<a name="200753014"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200753014" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200753014">(Jun 13 2020 at 07:03)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> I've addressed your PR comments, though I didn't adhere very closely to your suggested phrasings. Please let me know if you'd like additional changes. (Or feel free to edit it directly.)</p>



<a name="200942152"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/200942152" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#200942152">(Jun 15 2020 at 20:35)</a>:</h4>
<p><span class="user-mention" data-user-id="116009">@nikomatsakis</span> Saw your PR comments; do you think we're set to open the actual RFC PR?</p>



<a name="201027835"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/201027835" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> nikomatsakis <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#201027835">(Jun 16 2020 at 14:59)</a>:</h4>
<p><span class="user-mention" data-user-id="120076">@BatmanAoD (Kyle Strand)</span> I think so, yes</p>



<a name="201034289"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/210922-project-ffi-unwind/topic/posting%20the%20RFc/near/201034289" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> BatmanAoD (Kyle Strand) <a href="https://rust-lang.github.io/zulip_archive/stream/210922-project-ffi-unwind/topic/posting.20the.20RFc.html#201034289">(Jun 16 2020 at 15:43)</a>:</h4>
<p><span class="user-group-mention" data-user-group-id="1866">@WG-ffi-unwind</span> <a href="https://github.com/rust-lang/rfcs/pull/2945">https://github.com/rust-lang/rfcs/pull/2945</a></p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>